package com.grupobbva.seguridad.client.util;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import com.grupobbva.seguridad.client.domain.Control;
import com.grupobbva.seguridad.client.domain.Usuario;

public class ControlAcceso {
	
	public static boolean validarAcceso(HttpServletRequest request, String opcionId) {
		return validarAcceso(request.getSession(), opcionId);
	}
	public static boolean validarAcceso(HttpSession session, String opcionId) {
		System.out.println("ControlAcceso.validarAcceso: Inicio(opcionId = "+opcionId+")");
		Usuario usuario = (Usuario) session.getAttribute(Constante.SESSION_USUARIO);
		System.out.println("ControlAcceso.validarAcceso: Inicio(return = "+(usuario.getOpciones().get(opcionId)!=null)+")");
		return (usuario.getOpciones().get(opcionId)!=null);
	}
	
	public static boolean validarVisibilidad(HttpServletRequest request, String idCompuesto) {
		Usuario usuario = (Usuario) request.getSession().getAttribute(Constante.SESSION_USUARIO);
		Control control = usuario.getControles().get(idCompuesto);
		if (control != null) {
			return control.getVisible();
		} else {
			return false;
		}
	}

	public static boolean validarHabilitacion(HttpServletRequest request, String idCompuesto) {
		Usuario usuario = (Usuario) request.getSession().getAttribute(Constante.SESSION_USUARIO);
		Control control = usuario.getControles().get(idCompuesto);
		if (control != null) {
			return control.getHabilitado();
		} else {
			return false;
		}
	}
}
